\hypertarget{classCRandEmbeddingEngine}{
\section{\-C\-Rand\-Embedding\-Engine \-Class \-Reference}
\label{classCRandEmbeddingEngine}\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}}
}


implementation of the lsb embedding where random lsb's are taken to hide the data bits  




{\ttfamily \#include $<$rand\-\_\-embedding\-\_\-engine.\-h$>$}

\-Inheritance diagram for \-C\-Rand\-Embedding\-Engine\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classCRandEmbeddingEngine}
\end{center}
\end{figure}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCRandEmbeddingEngine_a9de3fadd914e4c12a2faedd2d14bf864}{\-C\-Rand\-Embedding\-Engine} (\hyperlink{classIBitSource}{\-I\-Bit\-Source} $\ast$p\-Bit\-Source)
\item 
virtual \hyperlink{classCRandEmbeddingEngine_a2edc661cd21bd8c5c1ffe088c3f1f7cb}{$\sim$\-C\-Rand\-Embedding\-Engine} ()
\item 
virtual std\-::string \hyperlink{classCRandEmbeddingEngine_a96e54e0cb255a0cc5715ad7199256c76}{get\-Ini\-Section\-Name} () const 
\begin{DoxyCompactList}\small\item\em get the abbreviation for the properties reader \end{DoxyCompactList}\item 
virtual int \hyperlink{classCRandEmbeddingEngine_a54803d6a4f5d537ca5065271623ab4d5}{embed\-Into\-Samples} (int8\-\_\-t $\ast$p\-Samples, unsigned int p\-Count, unsigned int p\-Leak)
\begin{DoxyCompactList}\small\item\em hook call for glue code \end{DoxyCompactList}\item 
virtual int \hyperlink{classCRandEmbeddingEngine_ad71f0b7abb7d3a4f00fbed8e9ae1330f}{embed\-Into\-Samples} (uint8\-\_\-t $\ast$p\-Samples, unsigned int p\-Count, unsigned int p\-Leak)
\item 
virtual int \hyperlink{classCRandEmbeddingEngine_aac2dc51c8a5c42fb3b013fb265ea546b}{embed\-Into\-Samples} (int16\-\_\-t $\ast$p\-Samples, unsigned int p\-Count, unsigned int p\-Leak)
\item 
virtual int \hyperlink{classCRandEmbeddingEngine_a1168da3c69053df590dc9f0c08c4f16d}{embed\-Into\-Samples} (uint16\-\_\-t $\ast$p\-Samples, unsigned int p\-Count, unsigned int p\-Leak)
\item 
virtual int \hyperlink{classCRandEmbeddingEngine_ad2f2ad1c4af1efd19d7f9f324e5068b4}{extract\-From\-Samples} (int8\-\_\-t $\ast$p\-Samples, unsigned int p\-Count, unsigned int p\-Leak, unsigned int p\-In\-Buffer)
\begin{DoxyCompactList}\small\item\em hook call for glue code \end{DoxyCompactList}\item 
virtual int \hyperlink{classCRandEmbeddingEngine_a64761d9c4036823d4a38e8e054c7acd9}{extract\-From\-Samples} (uint8\-\_\-t $\ast$p\-Samples, unsigned int p\-Count, unsigned int p\-Leak, unsigned int p\-In\-Buffer)
\item 
virtual int \hyperlink{classCRandEmbeddingEngine_a68c5bc5b00170e6ac949b5fb7b23321d}{extract\-From\-Samples} (int16\-\_\-t $\ast$p\-Samples, unsigned int p\-Count, unsigned int p\-Leak, unsigned int p\-In\-Buffer)
\item 
virtual int \hyperlink{classCRandEmbeddingEngine_af0b434b1ee99a668bf715f3dde97dcbe}{extract\-From\-Samples} (uint16\-\_\-t $\ast$p\-Samples, unsigned int p\-Count, unsigned int p\-Leak, unsigned int p\-In\-Buffer)
\item 
virtual int \hyperlink{classCRandEmbeddingEngine_ad7153a1344e4fca0b855851e0c346596}{change\-Settings} ()
\end{DoxyCompactItemize}
\subsection*{\-Private \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCRandEmbeddingEngine_a1241abf0524e9337ba9488a1a6598717}{\-C\-Rand\-Embedding\-Engine} ()
\item 
\hyperlink{classCRandEmbeddingEngine_ae7cf6a60c09d4790a33ef289b2a6d642}{\-C\-Rand\-Embedding\-Engine} (const \hyperlink{classCRandEmbeddingEngine}{\-C\-Rand\-Embedding\-Engine} \&)
\item 
\hyperlink{classCRandEmbeddingEngine}{\-C\-Rand\-Embedding\-Engine} \& \hyperlink{classCRandEmbeddingEngine_a587fe0bad241ff43d92acab118def69d}{operator=} (const \hyperlink{classCRandEmbeddingEngine}{\-C\-Rand\-Embedding\-Engine} \&)
\item 
bool \hyperlink{classCRandEmbeddingEngine_af863b5d117e3ad554d714e24892e33e0}{set\-Properties} ()
\item 
void \hyperlink{classCRandEmbeddingEngine_ac4b667ad17352731894fc8b5080c7750}{init\-Prng} ()
\item 
bool \hyperlink{classCRandEmbeddingEngine_af4b485d99db56b398b850caa2eefab41}{sample\-To\-Process} ()
\end{DoxyCompactItemize}
\subsection*{\-Private \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCLSBEmbeddingEngine}{\-C\-L\-S\-B\-Embedding\-Engine} $\ast$ \hyperlink{classCRandEmbeddingEngine_ab09f2cfec754c8d413cc8721e4d7a97a}{m\-Embedding\-Engine}
\item 
\hyperlink{classCLcg}{\-C\-Lcg} $\ast$ \hyperlink{classCRandEmbeddingEngine_a56f7c37c06f97bdad61a24b2a45b5651}{m\-Random}
\item 
unsigned int \hyperlink{classCRandEmbeddingEngine_a821a6627d59f284960d81514f8e7d686}{m\-Seed}
\item 
unsigned int \hyperlink{classCRandEmbeddingEngine_aaa953369788426b87458f9da4ae4d088}{m\-Multiplier}
\item 
unsigned int \hyperlink{classCRandEmbeddingEngine_a9b6328e97066c6848dbe8d82b53ea0b2}{m\-Increment}
\item 
unsigned int \hyperlink{classCRandEmbeddingEngine_aed96142234beb18c5d871c663549697d}{m\-Modulo}
\end{DoxyCompactItemize}
\subsection*{\-Static \-Private \-Attributes}
\begin{DoxyCompactItemize}
\item 
static const std\-::string \hyperlink{classCRandEmbeddingEngine_afc64519350828e8ab0d31ca4940f302c}{s\-Ini\-Section\-Name}
\end{DoxyCompactItemize}


\subsection{\-Detailed \-Description}
implementation of the lsb embedding where random lsb's are taken to hide the data bits 

\begin{DoxyAuthor}{\-Author}
mnutzinger
\end{DoxyAuthor}
this class is implemented as a decorator of \hyperlink{classCLSBEmbeddingEngine}{\-C\-L\-S\-B\-Embedding\-Engine} in order to not re-\/implement the lsb stuff and just concentrate on the random stuff as well as the interpretation of the config file (for random seed) 

\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classCRandEmbeddingEngine_a9de3fadd914e4c12a2faedd2d14bf864}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}}
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{\-C\-Rand\-Embedding\-Engine}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Rand\-Embedding\-Engine\-::\-C\-Rand\-Embedding\-Engine (
\begin{DoxyParamCaption}
\item[{{\bf \-I\-Bit\-Source} $\ast$}]{p\-Bit\-Source}
\end{DoxyParamCaption}
)}}
\label{classCRandEmbeddingEngine_a9de3fadd914e4c12a2faedd2d14bf864}
\hypertarget{classCRandEmbeddingEngine_a2edc661cd21bd8c5c1ffe088c3f1f7cb}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!$\sim$\-C\-Rand\-Embedding\-Engine@{$\sim$\-C\-Rand\-Embedding\-Engine}}
\index{$\sim$\-C\-Rand\-Embedding\-Engine@{$\sim$\-C\-Rand\-Embedding\-Engine}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{$\sim$\-C\-Rand\-Embedding\-Engine}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Rand\-Embedding\-Engine\-::$\sim$\-C\-Rand\-Embedding\-Engine (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCRandEmbeddingEngine_a2edc661cd21bd8c5c1ffe088c3f1f7cb}
\hypertarget{classCRandEmbeddingEngine_a1241abf0524e9337ba9488a1a6598717}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}}
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{\-C\-Rand\-Embedding\-Engine}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Rand\-Embedding\-Engine\-::\-C\-Rand\-Embedding\-Engine (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRandEmbeddingEngine_a1241abf0524e9337ba9488a1a6598717}
\hypertarget{classCRandEmbeddingEngine_ae7cf6a60c09d4790a33ef289b2a6d642}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}}
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{\-C\-Rand\-Embedding\-Engine}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Rand\-Embedding\-Engine\-::\-C\-Rand\-Embedding\-Engine (
\begin{DoxyParamCaption}
\item[{const {\bf \-C\-Rand\-Embedding\-Engine} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRandEmbeddingEngine_ae7cf6a60c09d4790a33ef289b2a6d642}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classCRandEmbeddingEngine_ad7153a1344e4fca0b855851e0c346596}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!change\-Settings@{change\-Settings}}
\index{change\-Settings@{change\-Settings}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{change\-Settings}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Rand\-Embedding\-Engine\-::change\-Settings (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCRandEmbeddingEngine_ad7153a1344e4fca0b855851e0c346596}
called by the protocol engine upon settings change (e.\-g. change of embedding parameters) 

\-Reimplemented from \hyperlink{classCLSBEmbeddingEngine_aca6150436ba357982b39ab7a56e6b0b7}{\-C\-L\-S\-B\-Embedding\-Engine}.

\hypertarget{classCRandEmbeddingEngine_a54803d6a4f5d537ca5065271623ab4d5}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!embed\-Into\-Samples@{embed\-Into\-Samples}}
\index{embed\-Into\-Samples@{embed\-Into\-Samples}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{embed\-Into\-Samples}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Rand\-Embedding\-Engine\-::embed\-Into\-Samples (
\begin{DoxyParamCaption}
\item[{int8\-\_\-t $\ast$}]{p\-Samples, }
\item[{unsigned int}]{p\-Count, }
\item[{unsigned int}]{p\-Leak}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCRandEmbeddingEngine_a54803d6a4f5d537ca5065271623ab4d5}


hook call for glue code 

called by the voip phone application to embed data into the sample before sending a packet \begin{DoxyNote}{\-Note}
this implicitly reads the data to be embedded from the \hyperlink{classIStegIO}{\-I\-Steg\-I\-O}
\end{DoxyNote}

\begin{DoxyParams}{\-Parameters}
{\em p\-Samples} & samples to be modified \\
\hline
{\em p\-Count} & number of samples \\
\hline
{\em p\-Leak} & number of samples not used between last and current call\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
$>$0 for success, 0 for \-E\-O\-F and $<$0 for an error 
\end{DoxyReturn}


\-Reimplemented from \hyperlink{classCLSBEmbeddingEngine_a4d508780f5f727e820baa98a5da1fa97}{\-C\-L\-S\-B\-Embedding\-Engine}.

\hypertarget{classCRandEmbeddingEngine_ad71f0b7abb7d3a4f00fbed8e9ae1330f}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!embed\-Into\-Samples@{embed\-Into\-Samples}}
\index{embed\-Into\-Samples@{embed\-Into\-Samples}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{embed\-Into\-Samples}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Rand\-Embedding\-Engine\-::embed\-Into\-Samples (
\begin{DoxyParamCaption}
\item[{uint8\-\_\-t $\ast$}]{p\-Samples, }
\item[{unsigned int}]{p\-Count, }
\item[{unsigned int}]{p\-Leak}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCRandEmbeddingEngine_ad71f0b7abb7d3a4f00fbed8e9ae1330f}


\-Reimplemented from \hyperlink{classCLSBEmbeddingEngine_ae132792ad4cf59e3a0b966f92fd4b43b}{\-C\-L\-S\-B\-Embedding\-Engine}.

\hypertarget{classCRandEmbeddingEngine_aac2dc51c8a5c42fb3b013fb265ea546b}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!embed\-Into\-Samples@{embed\-Into\-Samples}}
\index{embed\-Into\-Samples@{embed\-Into\-Samples}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{embed\-Into\-Samples}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Rand\-Embedding\-Engine\-::embed\-Into\-Samples (
\begin{DoxyParamCaption}
\item[{int16\-\_\-t $\ast$}]{p\-Samples, }
\item[{unsigned int}]{p\-Count, }
\item[{unsigned int}]{p\-Leak}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCRandEmbeddingEngine_aac2dc51c8a5c42fb3b013fb265ea546b}


\-Reimplemented from \hyperlink{classCLSBEmbeddingEngine_a53aafd5283ecaddd90c0763eeab89cf9}{\-C\-L\-S\-B\-Embedding\-Engine}.

\hypertarget{classCRandEmbeddingEngine_a1168da3c69053df590dc9f0c08c4f16d}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!embed\-Into\-Samples@{embed\-Into\-Samples}}
\index{embed\-Into\-Samples@{embed\-Into\-Samples}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{embed\-Into\-Samples}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Rand\-Embedding\-Engine\-::embed\-Into\-Samples (
\begin{DoxyParamCaption}
\item[{uint16\-\_\-t $\ast$}]{p\-Samples, }
\item[{unsigned int}]{p\-Count, }
\item[{unsigned int}]{p\-Leak}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCRandEmbeddingEngine_a1168da3c69053df590dc9f0c08c4f16d}


\-Reimplemented from \hyperlink{classCLSBEmbeddingEngine_af6e8a395a148d9847721654e6540efe2}{\-C\-L\-S\-B\-Embedding\-Engine}.

\hypertarget{classCRandEmbeddingEngine_ad2f2ad1c4af1efd19d7f9f324e5068b4}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!extract\-From\-Samples@{extract\-From\-Samples}}
\index{extract\-From\-Samples@{extract\-From\-Samples}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{extract\-From\-Samples}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Rand\-Embedding\-Engine\-::extract\-From\-Samples (
\begin{DoxyParamCaption}
\item[{int8\-\_\-t $\ast$}]{p\-Samples, }
\item[{unsigned int}]{p\-Count, }
\item[{unsigned int}]{p\-Leak, }
\item[{unsigned int}]{p\-In\-Buffer}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCRandEmbeddingEngine_ad2f2ad1c4af1efd19d7f9f324e5068b4}


hook call for glue code 

called by the voip phone application to extract data from the sample after receiving a packet \begin{DoxyNote}{\-Note}
this implicitly writes the extracted data to the \hyperlink{classIStegIO}{\-I\-Steg\-I\-O}
\end{DoxyNote}

\begin{DoxyParams}{\-Parameters}
{\em p\-Samples} & samples to be modified \\
\hline
{\em p\-Count} & number of samples \\
\hline
{\em p\-Leak} & number of samples not used between last and current call \\
\hline
{\em p\-In\-Buffer} & how many samples are left in the buffer. \-If no extra thread is executed for extraction this parameter is always 0.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
0 for success, $>$0 for success and discard of samples for next call, $<$0 for an error 
\end{DoxyReturn}


\-Reimplemented from \hyperlink{classCLSBEmbeddingEngine_acaebe471ecb2ca61fefa93c623effcee}{\-C\-L\-S\-B\-Embedding\-Engine}.

\hypertarget{classCRandEmbeddingEngine_a64761d9c4036823d4a38e8e054c7acd9}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!extract\-From\-Samples@{extract\-From\-Samples}}
\index{extract\-From\-Samples@{extract\-From\-Samples}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{extract\-From\-Samples}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Rand\-Embedding\-Engine\-::extract\-From\-Samples (
\begin{DoxyParamCaption}
\item[{uint8\-\_\-t $\ast$}]{p\-Samples, }
\item[{unsigned int}]{p\-Count, }
\item[{unsigned int}]{p\-Leak, }
\item[{unsigned int}]{p\-In\-Buffer}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCRandEmbeddingEngine_a64761d9c4036823d4a38e8e054c7acd9}


\-Reimplemented from \hyperlink{classCLSBEmbeddingEngine_a70d5c13e20918537ca5fc41e2b189174}{\-C\-L\-S\-B\-Embedding\-Engine}.

\hypertarget{classCRandEmbeddingEngine_a68c5bc5b00170e6ac949b5fb7b23321d}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!extract\-From\-Samples@{extract\-From\-Samples}}
\index{extract\-From\-Samples@{extract\-From\-Samples}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{extract\-From\-Samples}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Rand\-Embedding\-Engine\-::extract\-From\-Samples (
\begin{DoxyParamCaption}
\item[{int16\-\_\-t $\ast$}]{p\-Samples, }
\item[{unsigned int}]{p\-Count, }
\item[{unsigned int}]{p\-Leak, }
\item[{unsigned int}]{p\-In\-Buffer}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCRandEmbeddingEngine_a68c5bc5b00170e6ac949b5fb7b23321d}


\-Reimplemented from \hyperlink{classCLSBEmbeddingEngine_a08705592c817d8b2854d80752f594a34}{\-C\-L\-S\-B\-Embedding\-Engine}.

\hypertarget{classCRandEmbeddingEngine_af0b434b1ee99a668bf715f3dde97dcbe}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!extract\-From\-Samples@{extract\-From\-Samples}}
\index{extract\-From\-Samples@{extract\-From\-Samples}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{extract\-From\-Samples}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Rand\-Embedding\-Engine\-::extract\-From\-Samples (
\begin{DoxyParamCaption}
\item[{uint16\-\_\-t $\ast$}]{p\-Samples, }
\item[{unsigned int}]{p\-Count, }
\item[{unsigned int}]{p\-Leak, }
\item[{unsigned int}]{p\-In\-Buffer}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCRandEmbeddingEngine_af0b434b1ee99a668bf715f3dde97dcbe}


\-Reimplemented from \hyperlink{classCLSBEmbeddingEngine_a4c62d1ed64e8acb27781d7765e4fa0eb}{\-C\-L\-S\-B\-Embedding\-Engine}.

\hypertarget{classCRandEmbeddingEngine_a96e54e0cb255a0cc5715ad7199256c76}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!get\-Ini\-Section\-Name@{get\-Ini\-Section\-Name}}
\index{get\-Ini\-Section\-Name@{get\-Ini\-Section\-Name}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{get\-Ini\-Section\-Name}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string \-C\-Rand\-Embedding\-Engine\-::get\-Ini\-Section\-Name (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCRandEmbeddingEngine_a96e54e0cb255a0cc5715ad7199256c76}


get the abbreviation for the properties reader 

\begin{DoxyReturn}{\-Returns}
the abbreviation for the properties reader 
\end{DoxyReturn}


\-Reimplemented from \hyperlink{classCLSBEmbeddingEngine_a81bd5d82390a7870fefbfdde94cd474b}{\-C\-L\-S\-B\-Embedding\-Engine}.

\hypertarget{classCRandEmbeddingEngine_ac4b667ad17352731894fc8b5080c7750}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!init\-Prng@{init\-Prng}}
\index{init\-Prng@{init\-Prng}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{init\-Prng}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-Rand\-Embedding\-Engine\-::init\-Prng (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRandEmbeddingEngine_ac4b667ad17352731894fc8b5080c7750}
\hypertarget{classCRandEmbeddingEngine_a587fe0bad241ff43d92acab118def69d}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!operator=@{operator=}}
\index{operator=@{operator=}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-C\-Rand\-Embedding\-Engine}\& \-C\-Rand\-Embedding\-Engine\-::operator= (
\begin{DoxyParamCaption}
\item[{const {\bf \-C\-Rand\-Embedding\-Engine} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRandEmbeddingEngine_a587fe0bad241ff43d92acab118def69d}
\hypertarget{classCRandEmbeddingEngine_af4b485d99db56b398b850caa2eefab41}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!sample\-To\-Process@{sample\-To\-Process}}
\index{sample\-To\-Process@{sample\-To\-Process}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{sample\-To\-Process}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-Rand\-Embedding\-Engine\-::sample\-To\-Process (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRandEmbeddingEngine_af4b485d99db56b398b850caa2eefab41}
\hypertarget{classCRandEmbeddingEngine_af863b5d117e3ad554d714e24892e33e0}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!set\-Properties@{set\-Properties}}
\index{set\-Properties@{set\-Properties}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{set\-Properties}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-Rand\-Embedding\-Engine\-::set\-Properties (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRandEmbeddingEngine_af863b5d117e3ad554d714e24892e33e0}


\subsection{\-Member \-Data \-Documentation}
\hypertarget{classCRandEmbeddingEngine_ab09f2cfec754c8d413cc8721e4d7a97a}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!m\-Embedding\-Engine@{m\-Embedding\-Engine}}
\index{m\-Embedding\-Engine@{m\-Embedding\-Engine}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{m\-Embedding\-Engine}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-C\-L\-S\-B\-Embedding\-Engine}$\ast$ {\bf \-C\-Rand\-Embedding\-Engine\-::m\-Embedding\-Engine}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRandEmbeddingEngine_ab09f2cfec754c8d413cc8721e4d7a97a}
the actual lsb embedding engine which does the embedding work

\begin{DoxyNote}{\-Note}
this object is eventually called in embed\-Into\-Sample() and extract\-From\-Sample(), after the prng stuff is done 
\end{DoxyNote}
\hypertarget{classCRandEmbeddingEngine_a9b6328e97066c6848dbe8d82b53ea0b2}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!m\-Increment@{m\-Increment}}
\index{m\-Increment@{m\-Increment}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{m\-Increment}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf \-C\-Rand\-Embedding\-Engine\-::m\-Increment}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRandEmbeddingEngine_a9b6328e97066c6848dbe8d82b53ea0b2}
\hypertarget{classCRandEmbeddingEngine_aed96142234beb18c5d871c663549697d}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!m\-Modulo@{m\-Modulo}}
\index{m\-Modulo@{m\-Modulo}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{m\-Modulo}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf \-C\-Rand\-Embedding\-Engine\-::m\-Modulo}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRandEmbeddingEngine_aed96142234beb18c5d871c663549697d}
\hypertarget{classCRandEmbeddingEngine_aaa953369788426b87458f9da4ae4d088}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!m\-Multiplier@{m\-Multiplier}}
\index{m\-Multiplier@{m\-Multiplier}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{m\-Multiplier}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf \-C\-Rand\-Embedding\-Engine\-::m\-Multiplier}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRandEmbeddingEngine_aaa953369788426b87458f9da4ae4d088}
\hypertarget{classCRandEmbeddingEngine_a56f7c37c06f97bdad61a24b2a45b5651}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!m\-Random@{m\-Random}}
\index{m\-Random@{m\-Random}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{m\-Random}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-C\-Lcg}$\ast$ {\bf \-C\-Rand\-Embedding\-Engine\-::m\-Random}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRandEmbeddingEngine_a56f7c37c06f97bdad61a24b2a45b5651}
linear congruential generator (prng) object to get random numbers \hypertarget{classCRandEmbeddingEngine_a821a6627d59f284960d81514f8e7d686}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!m\-Seed@{m\-Seed}}
\index{m\-Seed@{m\-Seed}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{m\-Seed}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf \-C\-Rand\-Embedding\-Engine\-::m\-Seed}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRandEmbeddingEngine_a821a6627d59f284960d81514f8e7d686}
\hypertarget{classCRandEmbeddingEngine_afc64519350828e8ab0d31ca4940f302c}{
\index{\-C\-Rand\-Embedding\-Engine@{\-C\-Rand\-Embedding\-Engine}!s\-Ini\-Section\-Name@{s\-Ini\-Section\-Name}}
\index{s\-Ini\-Section\-Name@{s\-Ini\-Section\-Name}!CRandEmbeddingEngine@{\-C\-Rand\-Embedding\-Engine}}
\subsubsection[{s\-Ini\-Section\-Name}]{\setlength{\rightskip}{0pt plus 5cm}const std\-::string {\bf \-C\-Rand\-Embedding\-Engine\-::s\-Ini\-Section\-Name}\hspace{0.3cm}{\ttfamily  \mbox{[}static, private\mbox{]}}}}
\label{classCRandEmbeddingEngine_afc64519350828e8ab0d31ca4940f302c}


\-Reimplemented from \hyperlink{classCLSBEmbeddingEngine_a8d13c922777588ab77c6079a76149f06}{\-C\-L\-S\-B\-Embedding\-Engine}.



\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\hyperlink{rand__embedding__engine_8h}{rand\-\_\-embedding\-\_\-engine.\-h}\item 
\hyperlink{rand__embedding__engine_8cxx}{rand\-\_\-embedding\-\_\-engine.\-cxx}\end{DoxyCompactItemize}
